Defines a Broyden–Fletcher–Goldfarb–Shanno (BFGS) optimizer for minimization of smooth functions of multiple variables. The method uses a quasi-Newton inverse Hessian approximation and the update with and .
| procedure, public :: get_line_search => lso_get_line_search | |
| procedure, public :: get_max_fcn_evals => oe_get_max_eval | |
| procedure, public :: get_print_status => oe_get_print_status | |
| procedure, public :: get_tolerance => oe_get_tol | |
| procedure, public :: get_use_line_search => lso_get_use_search | |
| procedure, public :: get_var_tolerance => lso_get_var_tol | |
| procedure, public :: is_line_search_defined => lso_is_line_search_defined | |
| procedure, public :: set_default_line_search => lso_set_default | |
| procedure, public :: set_line_search => lso_set_line_search | |
| procedure, public :: set_max_fcn_evals => oe_set_max_eval | |
| procedure, public :: set_print_status => oe_set_print_status | |
| procedure, public :: set_tolerance => oe_set_tol | |
| procedure, public :: set_use_line_search => lso_set_use_search | |
| procedure, public :: set_var_tolerance => lso_set_var_tol | |
| procedure, public :: solve => bfgs_solve |
A base class for optimizers that improve a trial step with a line search. The search direction is combined with a step length through and the accepted step satisfies a sufficient decrease condition.
| procedure, public :: get_line_search => lso_get_line_search | |
| procedure, public :: get_max_fcn_evals => oe_get_max_eval | |
| procedure, public :: get_print_status => oe_get_print_status | |
| procedure, public :: get_tolerance => oe_get_tol | |
| procedure, public :: get_use_line_search => lso_get_use_search | |
| procedure, public :: get_var_tolerance => lso_get_var_tol | |
| procedure, public :: is_line_search_defined => lso_is_line_search_defined | |
| procedure, public :: set_default_line_search => lso_set_default | |
| procedure, public :: set_line_search => lso_set_line_search | |
| procedure, public :: set_max_fcn_evals => oe_set_max_eval | |
| procedure, public :: set_print_status => oe_set_print_status | |
| procedure, public :: set_tolerance => oe_set_tol | |
| procedure, public :: set_use_line_search => lso_set_use_search | |
| procedure, public :: set_var_tolerance => lso_set_var_tol | |
| procedure(nonlin_optimize_fcn), public, deferred, pass :: solve |
Defines a direct-search optimizer based on Nelder and Mead's simplex method. The algorithm maintains a simplex of $n+1$ vertices and updates it by reflection, expansion, contraction, and shrinking steps to reduce the objective value .
| procedure, public :: get_initial_size => nm_get_size | |
| procedure, public :: get_max_fcn_evals => oe_get_max_eval | |
| procedure, public :: get_print_status => oe_get_print_status | |
| procedure, public :: get_simplex => nm_get_simplex | |
| procedure, public :: get_tolerance => oe_get_tol | |
| procedure, public :: set_initial_size => nm_set_size | |
| procedure, public :: set_max_fcn_evals => oe_set_max_eval | |
| procedure, public :: set_print_status => oe_set_print_status | |
| procedure, public :: set_simplex => nm_set_simplex | |
| procedure, public :: set_tolerance => oe_set_tol | |
| procedure, public :: solve => nm_solve |